package com.av.acciones.adeudo;

import org.apache.log4j.Logger;

import com.av.acciones.BaseAccion;
import com.av.db.dataobjects.Tarjeta;
import com.av.db.layer.interfaces.AdeudoLayer;
import com.av.exceptions.AvException;
import com.av.rmi.Parametro;
import com.av.rmi.Parametro.Tipo;

/**
 * Accion que obtiene los adeudos relacionados con una tarjeta en particular
 * 
 * @author Victor J Morales R
 * 
 */
public class ObtenerAdeudoPorTarjetaAccion extends BaseAccion {

	private static Logger log = Logger
			.getLogger(ObtenerAdeudoPorTarjetaAccion.class);

	@Override
	public Parametro ejecutar(Parametro parametro) throws AvException {
		log.info("Inicio - ejecutar(Parametro parametro)");

		AdeudoLayer al = (AdeudoLayer) getBean(AdeudoLayer.BEAN_NAME);
		Tarjeta t = null;
		if (parametro.getValor(Tipo.INPUT) instanceof Tarjeta) {
			t = (Tarjeta) parametro.getValor(Tipo.INPUT);
			parametro.setValor(Tipo.OUTPUT, al.obtener(t));
		}

		log.info("Fin - ejecutar(Parametro parametro)");

		return parametro;
	}// ejecutar
}// ObtenerAdeudoPorTarjetaAccion